package com.terren.spider.core.html.scheme.impl;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.apache.commons.lang.StringUtils;

import com.terren.spider.entity.core.Entry;

import us.codecraft.webmagic.Page;

public class SogouZhihuScheme extends BasicCustomScheme{
	@Override
	public Integer setRenderPage() {
		return 6;
	}
	@Override
	public boolean useAbuyunProxy() {
		
		return true;
	}
	@Override
	public Integer setTimeWait() {
		
		return 10;
	}
	/**
	 * 知乎搜索抓取分页http://zhihu.sogou.com/zhihu?query=%E5%BF%83%E7%90%86&page=8&ie=utf8
	 */
	@Override
	public Set<String> findHelpPaginationUrl(Page page, Entry entry) {
		List<String> pgList = new ArrayList<String>();// 存放分页list
		boolean flag = false;
		String nextUrl = page.getHtml().$("#zhihu_page_next","href").toString();
		String prevUrl = page.getHtml().$("#zhihu_page_prev","href").toString();
		if (!"".equals(nextUrl)&&nextUrl!=null) {//抓【下一页】链接
			pgList.add("http://zhihu.sogou.com/zhihu"+nextUrl);
		}
		if ((!"".equals(prevUrl)&&prevUrl!=null)||(!"".equals(nextUrl)&&nextUrl!=null)) {//包含上一页或者下一页链接
			flag = true;
		}
		if (!flag) {//没有上一页链接也没有下一页链接 ，取全部
			List<String> pageUrls = page.getHtml().xpath("//div[@class='result-page']").links().all();// 存放分页list
			for(int i=1;i<=pageUrls.size();i++){
				if(!"".equals(pageUrls.get(i-1))){
				//pgList.add("http://zhihu.sogou.com/zhihu"+page.getHtml().$("#zhihu_page_"+i,"href").get());
				pgList.add("http://zhihu.sogou.com/zhihu?"+StringUtils.substringAfter(pageUrls.get(i-1), "?"));
				}
			}
		}
		Set<String> resultSet = new HashSet<>();
		resultSet.addAll(pgList);
		return resultSet;
	}
}
